Blind adaptive filtering method for receivers of communication systems

ABSTRACT

A blind adaptive filtering method for receivers of communication systems without need of training sequences, and whose performance is close to that of the non-blind linear minimum mean square error (LMMSE) receivers with training sequences required in practical environments of finite signal-to-noise (SNR) and data length. This algorithm is an iterative batch processing algorithm using cumulant based inverse filter criteria with super-exponential convergence rate and low computational load. The receivers to which the presented algorithm can be applied are (but not limited to) equalizers of conventional time division multiple access (TDMA) digital communication systems, and smart antennas based on space-time processing for wireless communication systems.

FIELD OF THE INVENTION

[0001] The present invention relates to a method of blind adaptive filtering for receivers of communication systems.

BACKGROUND OF INVENTION

[0002] The present invention relates to communications equipment, and more particularly to a blind adaptive filtering algorithm for receivers of communication systems without need of training sequences.

[0003] In wireless multi-user communication systems, antenna array based non-blind linear minimum mean square error (LMMSE) receivers utilize long training sequences for the suppression of multiple access interference (MAI) due to multiple users sharing the same channel and the suppression of intersymbol interference (ISI) due to channel distortion in wired communications and multi-path propagation in wireless communications. The MAI suppression and ISI suppression are crucial to the performance improvement of wireless communication systems. However the use of training sequences not only costs system resources but also involves synchronization issues and other cumbersome procedures. Therefore, receivers for blind mode (without need of training sequences) with good performance (of suppression of both MAI and ISI), and low complexity are of extreme importance in communication systems.

[0004] In digital communication systems, by sampling or matched filtering, the received continuous-time signal can be transformed to a discrete-time signal which can be approximated as the output signal of a discrete-time multi-input multi-output (MIMO) linear time-invariant (LTI) system on which a variety of detection and estimation algorithms are based. The proposed blind adaptive filtering algorithm for receivers of communication systems is also based on the discrete-time MIMO LTI system model.

[0005] Blind equalization (deconvolution) of an MIMO LTI system, denoted H[n] (P×K matrix) is a problem of estimating the vector input u[n]=(u₁[n], u₂[n], . . . , u_(K)[n])^(T) (K inputs), where the superscript ‘T’ denotes the transposition, with only a set of non-Gaussian vector output measurements x[n]=(x₁[n], x₂[n], x_(P)[n])^(T) (P outputs) as follows and as shown in FIG. 1: $\begin{matrix} \begin{matrix} {{x\lbrack n\rbrack} = \quad {{{H\lbrack n\rbrack}*{u\lbrack n\rbrack}} + {w\lbrack n\rbrack}}} \\ {= \quad {{\sum\limits_{k = {- \infty}}^{\infty}{{H\lbrack k\rbrack}{u\left\lbrack {n - k} \right\rbrack}}} + {w\lbrack n\rbrack}}} \\ {= \quad {{\sum\limits_{j = 1}^{K}{{h_{j}\lbrack n\rbrack}*{u_{j}\lbrack n\rbrack}}} + {w\lbrack n\rbrack}}} \end{matrix} & (1) \end{matrix}$

[0006] where ‘*’ denotes the discrete-time convolution operator, h_(j)[n] is the jth column of H[n], and w[n]=(w₁[n], w₂[n], . . . , w_(P)[n])^(T) (P×1 vector) is additive noise. For ease of later use, let us define the following notations

[0007] cum{y₁, y₂, . . . , y_(p)} pth-order cumulant of random variables y₁, y₂, . . . , y_(P)

[0008] cum{y:p, . . . }=cum{y₁=y, y₂=y, . . . , y_(P)=y, . . . }

[0009] C_(p,q){y}=cum{y:p, y*:q} (y* is complex conjugate of y)

[0010] v_(j)=(v_(j)[L₁], v_(j)[L₁+1], . . . , v_(j)[L₂])^(T) ((L=L₂−L₁+1)×1 vector)

[0011] v=(v₁ ^(T), v₂ ^(T), . . . , v_(P) ^(T))^(T)

[0012] x_(j)[n]=(x_(j)[n−L₁], x_(j)[n−L₁−1], . . . , x_(j)[n−L₂])^(T)

[0013] {tilde over (x)}n[n]=(x₁ ^(T)[n], x₂ ^(T)[n], . . . , x_(P) ^(T)[n])^(T)

[0014] {tilde over (R)}=E[{tilde over (x)}*[n]{tilde over (x)}^(T)[n]] (expected value of {tilde over (x)}*[n]{tilde over (x)}^(T)[n])

[0015] Assume that we are given a set of measurements x[n], n=0, 1, . . . , N−1 modeled by (1) with the following assumptions:

[0016] (A1) u_(j)[n] is zero-mean, independent identically distributed (i.i d.) non-Gaussian with variance E[|u_(j)[n]|²]=σ_(u) ² and (p+q)th-order cumulant C_(p,q){u_(j)[n]}≠0, and statistically independent of u_(k)[n] for all k≠j, where p and q are nonnegative integers and p+q≧3.

[0017] (A2) The MIMO system H[n] is exponentially stable.

[0018] (A3) The noise w[n] is zero-mean Gaussian and statistically independent of u[n].

[0019] Let v[n]=(v₁[n], v₂[n], . . . , v_(P)[n])^(T) denote a P×1 linear finite impulse response (FIR) equalizer of length L=L₂−L₁+1 for which v[n] ≠0 (P×1 zero vector) for n L₁, L₁+1, . . . , L₂. Then the output of e[n] of the FIR equalizer v[n] can be expressed as $\begin{matrix} \begin{matrix} {{e\lbrack n\rbrack} = \quad {\sum\limits_{j = 1}^{P}{{\upsilon_{j}\lbrack n\rbrack}*{x_{j}\lbrack n\rbrack}}}} \\ {= \quad {\sum\limits_{j = 1}^{P}{\upsilon_{j}^{T}{x_{j}\lbrack n\rbrack}}}} \\ {= \quad {v^{T}{\overset{\sim}{x}\lbrack n\rbrack}}} \end{matrix} & (2) \end{matrix}$

[0020] Tugnait (see “Identification and deconvolution of multichannel linear nonGaussian processes using higher-order statistics and inverse filter criteria,” IEEE Trans. Signal Processing, vol. 45, no. 3, pp. 658-672, March 1997) proposed inverse filter criteria (IFC) for blind deconvolution of MIMO systems using second- and third-order cumulants or second- and fourth-order cumulants of inverse filter (i.e., equalizer) output Chi and Chen (see “MIMO inverse filter criteria and blind maximum ratio combining using HOS for equalization of DS/CDMA systems in multi-path,” Proc. Third IEEE Workshop on Signal Processing Advances in Wireless Communications, Taoyuan, Taiwan, Mar. 20-23, 2001, pp.114-117, see also “Cumulant-based inverse filter criteria for MIMO blind deconvolution: properties, algorithms, and application to DS/CDMA systems in multi-path,” IEEE Trans. Signal Processing, vol. 49, no. 7, pp. 1282-1299, July 2001, and “Blind beamforming and maximum ratio combining by kutosis maximization for source separation in multi-path,” Proc. Thrid IEEE Workshop on Signal Processing Advances in Wireless Communications, Taoyuan, Taiwan, March 20-23, 2001, pp. 243-246) find the optimum v by maximizing the following IFC $\begin{matrix} {{J_{p,q}(v)} = \frac{{C_{p,q}\left\{ {e\lbrack n\rbrack} \right\}}}{{{C_{1.1}\left\{ {e\lbrack n\rbrack} \right\}}}^{{({p + q})}/2}}} & (3) \end{matrix}$

[0021] where p and q are nonnegative integers and p+q≧3, through using gradient type iterative optimization algorithms because all J_(p,q)(v) are highly nonlinear functions of v (without closed-form solutions for the optimum v). Note that the IFC given by (3) include Tugnait's IFC for (p,q)=(2,1) and (p,q)=(2,2) as special cases. Under the following conditions

[0022] (a1) signal-to-noise ratio (SNR) is infinity,

[0023] (a2) the length of equalizer is infinite,

[0024] the optimum equalizer output turns out to be one of the K input signals except for an unknown scale factor and an unknown time delay (i.e., the optimum equalizer is a perfect equalizer for one of the K input signals).

[0025] Yeung and Yau (see “A cumulant-based super-exponential algorithm for blind deconvolution of multi-input multi-output systems” Signal Processing, vol. 67, no. 2, pp 141-162, 1998) and Inouye and Tanebe (see “Super-exponential algorithms for mulichannel blind deconvolution,” IEEE Trans. Signal Processing, vol. 48, no.3, pp. 881-888, March 2000) also proposed an iterative super-exponential algorithm (SEA) for blind deconvolution of MIMO systems. The iterative SEA updates v at the Ith iteration by $\begin{matrix} {v_{I} = \frac{{\sigma_{u} \cdot {\overset{\sim}{R}}^{- 1}}{\overset{\sim}{d}}_{I - 1}}{\sqrt{{\overset{\sim}{d}}_{I - 1}^{H}{\overset{\sim}{R}}^{- 1}{\overset{\sim}{d}}_{I - 1}}}} & (4) \end{matrix}$

[0026] where ||a || denotes the Euclidean norm of vector a and

{tilde over (d)} _(I-1) =cum{e _(I-1) [n]:r,(e _(I-1) [n])*:s−1, {tilde over (x)}*[n]}  (5)

[0027] in which r and s−1 are nonnegative integers, r+s≧3 and e_(I-1)[n] is the equalizer output obtained at the (I−1)th iteration. Again, under the conditions (a1) and (a2), the designed equalizer by the SEA is also a perfect equalizer (for one of the K input signals) with a super-exponential convergence rate. A remark regarding the distinctions of gradient type IFC algorithms and the SEA are as follows:

[0028] (R1) Although the computationally efficient SEA converges fast (with a super-exponential convergence rate) for SNR=∞ and sufficiently large N. it may diverge for finite N and finite SNR. Moreover, with larger computational load than updating the equalizer coefficients v by (4) at each iteration, gradient type iterative IFC algorithms (such as Fletcher-Powell algorithm (see D. M. Burley, Studies in Optimization, Falsted Press, New York, 1974)) always converge slower than the iterative SEA for p+q=r+s as x[n] is real and for (p,q)=(r,s) as x[n] is complex.

[0029] Therefore a need exists for a fast IFC based algorithm with performance similar to that of SEA with guaranteed convergence for finite SNR and finite data length, and is therefore suitable for a variety of practical uses.

SUMMARY OF THE INVENTION

[0030] A method according to the present invention is proposed for fast iterative MIMO blind deconvolution in a communications receiver using cumulant based inverse filter criteria with super-exponential convergence rate and low computational load. At each iteration the method updates the equalizer coefficients v using the same update equation as used by the super-exponential algorithm. If the value of the associated inverse filter criteria (IFC) is larger than that obtained at the immediately previous iteration, then the method goes to the next iteration. Otherwise the equalizer coefficients v are updated using gradient type optimization algorithms such that the value of IFC increases. As the algorithm converges, the optimum equalizer v[n] is obtained and its output e[n] is an estimate of one of the K driving inputs of the MIMO system. The convergence can be guaranteed and the number of iterations for convergence is usually between two and ten.

[0031] These and other features, which characterize the invention, are set forth in the claims annexed hereto and forming a further part hereof However, for a better understanding of the invention, and of the advantages and objectives attained through its use, reference should be made to the drawings, and to the accompanying descriptive matter, in which there is described exemplary embodiments of the invention

BRIEF DESCRIPTION OF DRAWINGS

[0032]FIG. 1 shows the multiple-input multiple-output (MIMO) system

[0033]FIG. 2 shows the method of signal processing at each iteration of Algorithm 1

[0034]FIG. 3 shows the method of signal processing of each stage of the MSC procedure

DETAILED DESCRIPTION

[0035] In the following detailed description of the preferred embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific preferred embodiments in which the invention may be practiced. The preferred embodiments are described in sufficient detail to enable these skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, changes may be made without departing from the spirit and scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only be the appended claims.

[0036] A key property of the optimum equalizer v[n] using IFC, that can be proven true for any signal to noise ratio (SNR), is that the optimum v[n] with finite L using IFC and the one obtained by the SEA are the same (up to a scale factor) for p+q=r+s≧3 as x[n] is real and for p=q=r=s≧2 as x[n] is complex. Based on this property and (R1), the fast iterative MIMO blind deconvolution algorithm using IFC, called Algorithm 1, which processes the given x[n], n=0, 1, . . . , N−1, to estimate one of the K driving inputs u₁[n], u₂[n], . . . , u_(K)[n] comprises two steps as follows:

[0037] In the first step given v_(I-1) and e_(I-1)[n] obtained at the (I−1)th iteration, v_(I) at the Ith iteration is obtained by the following two steps and as shown in FIG. 2:

[0038] v_(I) is obtained by using the following SEA equation $\begin{matrix} {v_{I} = \frac{{\alpha \cdot {\overset{\sim}{R}}^{- 1}}{\overset{\sim}{d}}_{I - 1}}{\sqrt{{\overset{\sim}{d}}_{I - 1}^{H}{\overset{\sim}{R}}^{- 1}{\overset{\sim}{d}}_{I - 1}}}} & (6) \end{matrix}$

[0039] with r+s=p+q as x[n] is real and with r=s=p=q as x[n] is complex and obtain the associated e_(I)[n], n=0, 1, . . . , N=1, where a>0 is a parameter such that E[|e_(I)[n|]²]=a².

[0040] In the second step, if J_(p,q)(v_(I))>J_(p,q)(v_(I-1)), go to the next iteration, otherwise update v_(I) through a gradient type optimization algorithm such that J_(p,q)(v_(I))>J_(p,q)(v_(I-1)) and obtain the associated e_(I)[n], n=0, 1, . . . , N−1.

[0041] As x[n] is complex for p=q=r=s and x[n] is real for p−q=r+s, it can be shown that $\begin{matrix} \begin{matrix} {\left( {\frac{\partial{J_{p,q}(v)}}{\partial v}} \right)_{v = v_{I - 1}} = \quad {\frac{p + q}{2} \cdot {J_{p,q}\left( v_{I - 1} \right)} \cdot}} \\ {\quad \left\{ {{\frac{1}{C_{p,q}\left\{ {e_{I - 1}\lbrack n\rbrack} \right\}} \cdot \left( {\overset{\sim}{d}}_{I - 1} \right)^{*}} -} \right.} \\ {\quad \left. {\frac{1}{C_{1,1}\left\{ {e_{I - 1}\lbrack n\rbrack} \right\}} \cdot \left( {\overset{\sim}{R}v_{I - 1}} \right)^{*}} \right\}} \end{matrix} & (7) \end{matrix}$

[0042] where {tilde over (d)}_(I-1) has been obtained in step one (see (5)) and {tilde over (R)} is the same at each iteration, indicating simple and straight-forward computation for obtaining the gradient ∂J_(p,q)(v)/∂v in step two.

[0043] The method of Algorithm 1 is an iterative batch processing IFC algorithm with convergence speed, computational load similar to those of SEA due to step one of Algorithm 1. Moreover, its convergence can be guaranteed because J_(p,q)(v_(I)) (which is bounded) increases at each iteration due to step two of Algorithm 1. An initial condition v₀ (e g., the one associated with v_(i)[n]=δ[i−j]δ[n−l], i=1, 2, . . . , P where 1≦j≦P, L₁≦l≦L₂ and δ[n]=0 for n≠0 and δ[0]=1) is needed to initialize Algorithm 1 and the resultant equalizer output e[n] (after convergence) is the obtained estimate of one of the K driving inputs u₁[n], u₂[n], . . . , u_(K)[n] of the MIMO LTI system. The parameter a in equation (6) plays the role of restricting the dynamic range of the equalizer output to avoid overflow problem in DSP implementation.

[0044] Algorithm 1 can be applied wherever the unknown P×K system H[n] approximates an LTI system or a slowly linear time-varying system, and that Algorithm 1 can be applied as H[n] approximates either a single-input multi-output (SIMO) LTI system (i.e., P>1, K=1) or a single-input single-output (SISO) LTI system (ie., P=K=1). Hence all the estimates û₁[n], û₂[2], . . . ,û_(K)[n] can be obtained by Algorithm 1 (possibly in a non-sequential order) through the multistage successive cancellation (MSC) procedure that includes the following two steps at each stage as shown in FIG. 3. First, find an input estimate, said û_(l)[n] (where l is unknown), using Algorithm 1, and then obtain the associated channel estimate by $\begin{matrix} {{{\hat{h}}_{l}\lbrack k\rbrack} = \frac{E\left\lbrack {x\left\lbrack {n + k} \right\rbrack}{{\hat{u}}_{l}^{*}\lbrack n\rbrack} \right.}{E\left\lbrack {{{\hat{u}}_{l}\lbrack n\rbrack}}^{2} \right\rbrack}} & (8) \end{matrix}$

[0045] In the second step update x[n] by x[n]−ĥ_(l)[n]*û_(l)[n], i.e., cancel the contribution of û_(l)[n] in x[n]

[0046] In conjunction with the MSC procedure, Algorithm 1 can be applied wherever the given non-Gaussian measurements x[n] can be approximated as the outputs of an MIMO system (channel) given by (1) without the need of channel information and training sequences. The following are some possible applications of the above algorithm although the invention is by no means limited to these applications.

[0047] A smart antenna processing means is used in wireless communications when a communications receiver has an antenna array. The smart antenna processing means provides an estimate of a signal received from a particular user. For the scenario of K user signals arriving at an antenna array of P elements, the received P×1 signal vector x(t) can be modeled as $\begin{matrix} {{x(t)} = {{\sum\limits_{k = 1}^{K}{\sum\limits_{m = 1}^{M_{k}}{\alpha_{km}{a\left( \theta_{km} \right)}{s_{k}\left( {t - \tau_{km}} \right)}}}} + {w(t)}}} & (9) \end{matrix}$

[0048] where θ_(km), α_(km) and τ_(km) are the angle-of-arrival (AOA), propagation loss and propagation delay associated with the mth path of user k, respectively; M_(k) denotes the total number of paths of user k; a(θ_(km)) denotes the array steering vector associated with θ_(km); w(t) is the noise vector; and $\begin{matrix} {{s_{k}(t)} = {\sum\limits_{n = {- \infty}}^{\infty}{{u_{k}\lbrack n\rbrack}{p_{k}\left( {t - {nT}} \right)}}}} & (10) \end{matrix}$

[0049] is the baseband signal of user k, where u_(k)[n], p_(k)(t), and T are the symbol sequence (non-Gaussian such as binary sequence of +1 and −1), signature waveform and symbol duration, respectively. In time division multiple access (TDMA) systems, usually p_(k)(t)=p(t) (pulse shaping function) for all k. In direct sequence code division multiple access (DS/CDMA) communications systems, the signature waveform can be chosen as $\begin{matrix} {{p_{k}(t)} = {\frac{1}{\sqrt{T}}{\sum\limits_{n = 0}^{P - 1}{{c_{k}\lbrack n\rbrack}{\varphi \left( {t - {nT}_{c}} \right)}}}}} & (11) \end{matrix}$

[0050] where P is the spreading gain, T_(c)=T/P is chip period, c_(k)[n] is a binary pseudo random sequence of {+1, −1,} and φ(t) is the rectangular chip pulse of magnitude equal to unity within the interval t ε(0, T_(c)).

[0051] The received signal vector x(t) given by equation (9) can also be expressed as $\begin{matrix} {{x(t)} = {{\sum\limits_{k = 1}^{K}{\sum\limits_{n = {- \infty}}^{\infty}{{u_{k}\lbrack n\rbrack}{h_{k}\left( {t - {nT}} \right)}}}} + {{w(t)}\quad {where}}}} & (12) \\ {{h(t)} = {\sum\limits_{m = 1}^{M_{k}}{\alpha_{km}{a\left( \theta_{km} \right)}{\rho_{k}\left( {t - \tau_{km}} \right)}}}} & (13) \end{matrix}$

[0052] where

[0053] can be called the symbol-level space-time channel impulse response for user k. In most wireless communication environments, the channels h_(k)(t), k=1, . . . , K can be assumed to be linear and time-invariant during the period of interest.

[0054] In the case of TDMA, the estimation of u₁[n], u₂[n], . . . , u_(k)[n] is based on the symbol waveform. Denote Δ_(T)=T/Q_(T) as the sampling period, where Q_(T)≧1 is the factor of over-sampling. Sampling x(t) at t=nT−iΔ_(T), n ε(−∞, +∞), equation (12) becomes $\begin{matrix} \begin{matrix} {{x_{T}\left( {{nT} - {i\quad \Delta_{T}}} \right)} = \quad {{\sum\limits_{k = 1}^{K}{\sum\limits_{d = {- \infty}}^{\infty}{{u_{k}\left\lbrack {n - d} \right\rbrack}{h_{k}\left( {{dT} - {i\quad \Delta_{T}}} \right)}}}} +}} \\ {\quad {{w_{T}\left( {{nT} - {i\quad \Delta_{T}}} \right)},}} \\ {{i = \quad 0},1,\quad \ldots \quad,{Q_{T} - 1}} \end{matrix} & (14) \end{matrix}$

[0055] and an MIMO system model as given by equation (1) can be easily obtained as $\begin{matrix} {{x\lbrack n\rbrack} = \quad {{\sum\limits_{k = 1}^{K}{\sum\limits_{d = {- \infty}}^{\infty}{{u_{k}\left\lbrack {n - d} \right\rbrack}{{\underset{\_}{h}}_{k}\lbrack d\rbrack}}}} + {w\lbrack n\rbrack}}} & (15) \\ {= \quad {{\sum\limits_{d = {- \infty}}^{\infty}{{H\lbrack d\rbrack}{u\left\lbrack {n - d} \right\rbrack}}} + {{w\lbrack n\rbrack}\quad {where}}}} & (16) \\ {{{x\lbrack n\rbrack} = \begin{bmatrix} {x_{T}({nT})} \\ \left. {{x_{T}\left( {nT} \right.} - \Delta_{T}} \right) \\ \vdots \\ {x_{T}\left( {{nT} - {\left( {Q_{T} - 1} \right)\Delta_{T}}} \right.} \end{bmatrix}_{{({PQ}_{T})} \times 1}},} & (17) \\ {{{{\underset{\_}{h}}_{k}\lbrack d\rbrack} = \begin{bmatrix} {h_{k}({dT})} \\ {h_{k}\left( {{dT} - \Delta_{T}} \right)} \\ \vdots \\ {h_{k}\left( {{dT} - {\left( {Q_{T} - 1} \right)\Delta_{T}}} \right)} \end{bmatrix}_{{({PQ}_{T})} \times 1}},} & (18) \\ {{{w\lbrack n\rbrack} = \begin{bmatrix} {w_{T}({nT})} \\ {w_{T}\left( {{nT} - \Delta_{T}} \right)} \\ \vdots \\ {w_{T}\left( {{nT} - {\left( {Q_{T} - 1} \right)\Delta_{T}}} \right)} \end{bmatrix}_{{({PQ}_{T})} \times 1}},} & (19) \end{matrix}$

[0056] where

[0057] and

H[d]=[h₁[d], h₂[d], . . . , h_(K)[d]]  (20)

[0058] is a (PQ_(T))×K system. Therefore, all the user's symbol sequences u[n]=(u₁[n], [n], . . . , u_(K)[n])T can be detected using Algorithm 1 through the MSC procedure followed by threshold decision. Therefore Algorithm 1 performs as a blind space-time multi-user detector as P≧2, whereas as P=1, Algorithm 1 performs as a blind multi-user detection algorithm (without space diversity).

[0059] In the CDMA case, the estimation of u₁[n], u₂[n], . . . , u_(K)[n] is based on the signature wave form and related matched filtering outputs. Denote Δ_(c)=T_(c)/Q_(C) as the sampling period, where Q_(C)≧1 is the factor of over-sampling. Sampling x(t) at t=lT_(c)−iΔ_(c), i=0,1, . . . , Q_(c)−1, equation (12) becomes $\begin{matrix} \begin{matrix} {{x_{C}\left( {{lT}_{c} - {i\quad \Delta_{C}}} \right)} = \quad {{\sum\limits_{k = 1}^{K}{\sum\limits_{n = {- \infty}}^{\infty}{{u_{k}\lbrack n\rbrack}{h_{k}\left( {{lT}_{c} - {i\quad \Delta_{C}} - {nT}} \right)}}}} +}} \\ {\quad {w_{C}\left( {{lT}_{c} - {i\quad \Delta_{C}}} \right)}} \end{matrix} & (21) \end{matrix}$

[0060] By taking x_(c)(lT_(c)−iΔ_(c)), i=0, 1, . . . , Q_(c)−1, one can obtain the (PQ_(c))×1 signal vector $\begin{matrix} {{{\underset{\_}{x}}_{C}\left( {lT}_{c} \right)} = \quad {{\sum\limits_{k = 1}^{K}{\sum\limits_{n = {- \infty}}^{\infty}{{u_{k}\lbrack n\rbrack}{h_{k}\left( {{lT}_{c} - {nT}} \right)}}}} + {{\underset{\_}{w}}_{c}\left( {lT}_{c} \right)}}} & (22) \end{matrix}$

[0061] where

x _(c)(lT _(c))=[x _(C) ^(T)(lT _(c)), x _(C) ^(T)(lT _(c)−Δ_(C)), . . . , x _(C) ^(T)(lT _(c)−(Q _(C)−1)Δ_(c))]^(T)  (23)

h _(c)(lT _(c))=[h _(k) ^(T)(lT _(c)), h _(K) ^(T)(lT _(c)−Δ_(c)), . . . , h _(k) ^(T)(lT _(c)−(Q _(C)−1)Δc)]^(T)  (24)

w _(c)(lT _(c))=[w _(c) ^(T)(lT _(c)), w _(c) ^(T)(lT _(c)−Δ_(c)), . . . , w _(c) ^(T)(lT _(c)−(Q _(c)−1)Δ_(c))]^(T)  (25)

[0062] Assume that the signature waveform is chosen as equation (11). Then the discrete signature waveform of the kth user is given by $\begin{matrix} {{\rho_{k}\left( {lT}_{c} \right)} = {{\frac{1}{\sqrt{T}}{\sum\limits_{n = 0}^{P - 1}{{c_{k}\lbrack n\rbrack}{\varphi \left( {{lT}_{c} - {nT}_{c}} \right)}}}} = {\frac{1}{\sqrt{T}}{c_{k}\lbrack l\rbrack}}}} & (26) \end{matrix}$

[0063] (since φ(t) is the rectangular pulse)

[0064] where 0≦l≦P−1, and the output signal vector after despreading with the signature waveform of user k₀ can be expressed as $\begin{matrix} {{{\underset{\_}{x}}_{C}^{k_{0}}\left( {lT}_{C} \right)} = {\sum\limits_{i = 0}^{P - 1}{{{\underset{\_}{x}}_{C}\left( {{lT}_{c} - {iT}_{c}} \right)}{\rho_{k_{0}}\left( {{PT}_{c} - {i\quad T_{c}}} \right)}}}} & (27) \\ {= {{\sum\limits_{k = 1}^{K}{\sum\limits_{n = {- \infty}}^{\infty}{{u_{k}\lbrack n\rbrack}{q_{k}^{k_{0}}\left( {{lT}_{c} - {nT}} \right)}}}} + {{{\underset{\_}{w}}_{C}^{k_{0}}\left( {lT}_{c} \right)}\quad {where}}}} & (28) \\ {{q_{k}^{k_{0}}\left( {lT}_{c} \right)} = {\frac{1}{\sqrt{T}}{\sum\limits_{i = 0}^{P - 1}{{{\underset{\_}{h}}_{k}\left( {{lT}_{c} - {iT}_{c}} \right)}{{\overset{\_}{c}}_{k_{0}}\lbrack i\rbrack}}}}} & (29) \\ {{{\underset{\_}{w}}_{C}^{k_{0}}\left( {lT}_{c} \right)} = {\sum\limits_{i = 0}^{P - 1}{{{\underset{\_}{w}}_{C}\left( {{lT}_{c} - {iT}_{c}} \right)}{{\overset{\_}{c}}_{k_{0}}\lbrack i\rbrack}}}} & (30) \end{matrix}$

[0065] where

{overscore (c)} _(k) [l]c _(k) [P−l], 0≦0≦P−2  (31)

[0066] Let lT_(c)=mT−i_(j)T_(c), j=1, 2, . . . , J≦P. be the J time indexes associated with the J largest values of ${\sum\limits_{m = 0}^{N - 1}{{{\underset{\_}{x}}_{C}^{k_{0}}\left( {{mT} - {iT}_{c}} \right)}}^{2}},{i = 0},1,\quad \ldots \quad,{P - 1.}$

[0067] Then a symbol-level

[0068] MIMO signal model as given by (1) can be obtained as $\begin{matrix} {{x^{k_{0}}\lbrack m\rbrack} = {{\sum\limits_{k = 1}^{K}{\sum\limits_{n = {- \infty}}^{\infty}{{u_{k}\lbrack n\rbrack}{{\underset{\_}{q}}_{k}^{k_{0}}\left( {{mT} - {nT}} \right)}}}} + {w^{k_{0}}\lbrack m\rbrack}}} & (32) \\ {= {{\sum\limits_{n = {- \infty}}^{\infty}{{Q\left\lbrack {m - n} \right\rbrack}{u\lbrack n\rbrack}}} + {{w^{k_{0}}\lbrack m\rbrack}\quad {where}}}} & (33) \\ {{x^{k_{0}}\lbrack m\rbrack} = \begin{bmatrix} {{\underset{\_}{x}}_{C}^{k_{0}}\left( {{mT} - {i_{1}T_{c}}} \right)} \\ {{\underset{\_}{x}}_{C}^{k_{0}}\left( {{mT} - {i_{2}T_{c}}} \right)} \\ \vdots \\ {{\underset{\_}{x}}_{C}^{k_{0}}\left( {{mT} - {i_{J}T_{c}}} \right)} \end{bmatrix}_{{({JPQ}_{C})} \times 1}} & (34) \\ {{{\underset{\_}{q}}_{k}^{k_{0}}\lbrack{mT}\rbrack} = \begin{bmatrix} {q_{k}^{k_{0}}\left( {{mT} - {i_{1}T_{c}}} \right)} \\ {q_{k}^{k_{0}}\left( {{mT} - {i_{2}T_{c}}} \right)} \\ \vdots \\ {q_{k}^{k_{0}}\left( {{mT} - {i_{J}T_{c}}} \right)} \end{bmatrix}_{{({JPQ}_{C})} \times 1}} & (35) \\ {{w^{k_{0}}\lbrack m\rbrack} = \begin{bmatrix} {{\underset{\_}{w}}_{C}^{k_{0}}\left( {{mT} - {i_{1}T_{c}}} \right)} \\ {{\underset{\_}{w}}_{C}^{k_{0}}\left( {{mT} - {i_{2}T_{c}}} \right)} \\ \vdots \\ {{\underset{\_}{w}}_{C}^{k_{0}}\left( {{mT} - {i_{J}T_{c}}} \right)} \end{bmatrix}_{{({JPQ}_{C})} \times 1}} & (36) \end{matrix}$

[0069] where

[0070] and

Q[m]=[q₁ ^(k) ^(₀) (mT), q₂ ^(k) ^(₀) (mT), . . . , q_(K) ^(k) ^(₀) (mT)]  (37)

[0071] is a (JPQ_(c))×K system. Therefore, all the user's symbol sequences u[n]=(u₁[n], u₂[n], . . . , u_(K)[n])^(T) can be detected using Algorithm 1 through the MSC procedure followed by a threshold decision.

[0072] Another application for the algorithm of the invention is for blind equalization in a communications system. The baseband received signal x(t) in the presence of M paths in wireless communications (or channel distortion in wired communications) can be expressed as $\begin{matrix} {{x(t)} = {{\sum\limits_{m = 1}^{M}{\alpha_{m}{s\left( {t - \tau_{m}} \right)}}} + {\omega (t)}}} & (38) \end{matrix}$

[0073] where α_(m) and τ_(m) are the amplitude and propagation delay associated with the mth path, respectively; w(t) is the noise; and $\begin{matrix} {{s(t)} = {\sum\limits_{n = {- \infty}}^{\infty}{{u\lbrack n\rbrack}{p\left( {t - {nT}} \right)}}}} & (39) \end{matrix}$

[0074] is the user's signal where u[n], p(t) and Tare the symbol sequence (non-Gaussian such as binary sequence of +1 and −1), signature waveform and symbol duration, respectively.

[0075] By sampling x(t) at t nT−i(T/Q), i=0, 1, . . . , Q−1, where Q≧1 is the integer factor of over-sampling and then stacking the Q over-sampling vector samples, one can obtain an MIMO model given by (1) where H[n] is a Q×1 system, and therefore, the user's symbol sequence u[n] can be obtained using Algorithm 1 followed by threshold decision. Therefore, Algorithm 1 performs as a blind equalizer for the suppression of either multi-path effects in wireless communications or channel distortion in wired communications.

[0076] A further application of the invention is in blind RAKE receivers In the signal processing procedure of RAKE receivers, assume that there are P transmission paths (fingers) associated with the desired user and the P×1 vector x[n]=(x₁[n], x₂[n], . . . , x_(P)[n])^(T) includes P estimates of the desired user's symbol sequence s[n] associated with the P respective transmission paths. The x[n] can be modeled as

x[n]=a·s[n]+w[n]  (40)

[0077] where a is a P×1 (unknown) column vector of P signal (complex) amplitudes of s[n] associated with the P fingers, and the P×1 vector w[n] is noise. We desire to estimate s[n] from x[n] with no need of any information about a.

[0078] Note that the P×1 system given by (40) is a special case of the MIMO model given by (1) with H[n]∓0 (P×1 zero vector) only for n=0. Algorithm 1, with L₁=L₂=0 (thus L=1, and v=v[0]), can be employed to obtain an estimate

ŝ[n]=v ^(T) x[n]=(v ^(T) a)s[n]+v ^(T) w[n]  (41)

[0079] that can be shown to have the maximum of $\begin{matrix} {{SNR} = \frac{E\left\lbrack {{\left( {v^{T}a} \right){s\lbrack n\rbrack}}}^{2} \right\rbrack}{E\left\lbrack {{\left( {v^{T}w} \right)\lbrack n\rbrack}}^{2} \right\rbrack}} & (42) \end{matrix}$

[0080] attained by the non-blind LMMSE estimator of s[n] that requires the vector a given in advance.

[0081] Various additional modifications may be made to the illustrated embodiments without departing from the spirit and scope of the invention. Therefore, the invention lies in the claims hereinafter appended. 

What is claimed:
 1. An iterative method for blind deconvolution in a communications receiver for estimating one of users' symbol sequences (u_(j)[n], j=1, 2, . . . , K), the method at each iteration comprising the steps of updating the equalizer coefficients v_(I) at the Ith iteration using the following equation: ${v_{I} = \frac{{\alpha \cdot {\overset{\sim}{R}}^{- 1}}{\overset{\sim}{d}}_{I - 1}}{\sqrt{{\overset{\sim}{d}}_{I - 1}^{H}{\overset{\sim}{R}}^{- 1}{\overset{\sim}{d}}_{I - 1}}}};$

 determining the associated equalizer output e_(I)[n]; comparing J_(p,q)(v_(I)) with J_(p,q)(v_(I-1)) and if J_(p,q)(v_(I))>J_(p,q)(v _(I-1)) going to the next iteration, otherwise updating v_(I) through a gradient type optimization algorithm so that J_(p,q)(v_(I))>J_(p,q)(v_(I-1)) and then obtaining the associated e_(I)[n].
 2. The method of claim 1, which further comprises a threshold decision to detect a user's symbol sequence associated with the obtained symbol sequence estimate [û_(l)[n]=e_(I)[n] (where I is unknown)] as the method converges.
 3. The method of claim 1, which further utilizes a multistage successive cancellation (MSC) procedure, at each stage comprising the steps of: obtaining a symbol sequence estimate û_(l)[n]=e_(I)[n] (where l is unknown); determining the associated channel estimate of the obtained symbol sequence; estimate û_(l)[n] (where l is unknown) using the following equation: ${{{\hat{h}}_{l}\lbrack k\rbrack} = \frac{E\left\lbrack {{x\left\lbrack {n + k} \right\rbrack}{{\hat{u}}_{l}^{*}\lbrack n\rbrack}} \right\rbrack}{E\left\lbrack {{{\hat{u}}_{l}\lbrack n\rbrack}}^{2} \right\rbrack}};$

and  updating x[n] by x[n]−ĥ_(l)[n]*û_(l)[n].
 4. The method of claim 3, which further comprises a threshold decision to detect a user's symbol sequence associated with û_(l)[n] at each stage of the MSC procedure.
 5. A method for blind deconvolution in a communications receiver for estimating one of users' symbol sequences (u_(j)[n], j=1, 2, . . . , K), the method comprising the steps of: updating the equalizer coefficients; determining if the value of the Inverse Filter Criteria (IFC) in the current iteration is larger than that obtained in the immediately previous iteration and if so proceeding to the next iteration, otherwise updating the equalizer coefficients such that the value of the IFC increases; and determining the optimum equalizer, and an output of the driving inputs to the MIMO system.
 6. The method of claim 5, wherein the value, of the equalizer coefficients are obtained utilizing the following formula. $v_{I} = \frac{{\alpha \cdot {\overset{\sim}{R}}^{- 1}}{\overset{\sim}{d}}_{I - 1}}{\sqrt{{\overset{\sim}{d}}_{I - 1}^{H}{\overset{\sim}{R}}^{- 1}{\overset{\sim}{d}}_{I - 1}}}$


7. The method of claim 5, which further comprises a threshold decision to detect a user's symbol sequence associated with the obtained symbol sequence estimate [û_(l)[n]=e_(l)[n] (where l is unknown)] as the method converges.
 8. The method of claim 5, which further utilizes a multistage successive cancellation (MSC) procedure, at each stage comprising the steps of: obtaining a symbol sequence estimate û_(l)[n]=e_(I)[n] (where l is unknown); determining the associated channel estimate of the obtained symbol sequence; estimate û_(l)[n] (where l is unknown) using the following equation ${{{\hat{h}}_{l}\lbrack k\rbrack} = \frac{E\left\lbrack {{x\left\lbrack {n + k} \right\rbrack}{{\hat{u}}_{l}^{*}\lbrack n\rbrack}} \right\rbrack}{E\left\lbrack {{{\hat{u}}_{l}\lbrack n\rbrack}}^{2} \right\rbrack}};$

and updating x[n] by x[n]−ĥ_(l)[n]*û_(l)[n].
 9. The method of claim 5, which further comprises a threshold decision to detect a user's symbol sequence associated with û_(l)[n] at each stage of the MSC procedure. 